from Ashare import get_price
import pandas as pd

stock_code = 'sz002468'
frequency = '5m'
df = get_price(stock_code, frequency=frequency, count=20000)

# 关键修复：验证列名存在性
df = df.reset_index()
print("重置索引后的列名:", df.columns.tolist())  # 调试查看实际列名

# 安全的重命名方式（避免KeyError）
if 'index' in df.columns:
    df.rename(columns={'index': 'time'}, inplace=True)
else:
    # 若默认列名不是index，获取第一列名
    time_col = df.columns[0]
    df.rename(columns={time_col: 'time'}, inplace=True)

# 类型安全转换（防止后续错误）
df['time'] = pd.to_datetime(df['time'])  # 确保为datetime类型[2,6](@ref)
df['time'] = df['time'].dt.strftime('%Y-%m-%d %H:%M:%S')  # 格式化

print("处理后的数据:\n", df.head(2))

# 保存JSON
output = fr'D:\work\code\clark\gitee\big_a\datas\kline_now\{stock_code}_{frequency}.json'
df.to_json(output, orient='records', indent=4)
print(fr'✅ 数据已保存至 {output}')